package com.cskaoyan._03api;

/**
 * @description:
 * @author: 景天
 * @date: 2023/2/21 16:10
 **/
/*
创建并启动2个线程 A B

都是打印10个数

要求A打印0, B打印0, A打印1, B打印1.....
 */
public class yieldDemo {
    public static void main(String[] args) {
        // 创建并启动2个线程
        new YieldThread("A").start();
        new YieldThread("B").start();
    }
}

class YieldThread extends Thread{
    public YieldThread(String name) {
        super(name);
    }

    @Override
    public void run() {
        for (int i = 0; i < 10; i++) {
            System.out.println(getName()+"----"+i);
            // 执行yield方法 :   暂停当前正在执行的线程对象，并执行其他线程
            Thread.yield();
            // 当前线程放弃了CPU的执行权, 但是还是能够参与下轮的CPU的竞争, 谁抢到谁执行
        }
    }
}